//	---------------------------------------------------------------------------
//
//	@file		MiniGLFW.h
//	@brief		A subset of GLFW definitions needed to compile helper functions
//				implemented in TwEventGLFW.c
//
//	notes:	  - Private header
//			  - AntTweakBar.dll does not need to link with GLFW,
//				it just needs some definitions for its helper functions.
//			  - This header is provided to avoid the need of having GLFW
//				installed to recompile AntTweakBar.
//			  - Do not use this header in your own programs, better use the
//				glfw.h header from the actual GLFW library SDK :
//				http://www.glfw.org
//
//	---------------------------------------------------------------------------

#if !defined MINI_GLFW_INCLUDED
#define MINI_GLFW_INCLUDED

#ifdef __cplusplus
extern "C" {
#endif


// Key and button state/action definitions
#define GLFW_RELEASE		  0
#define GLFW_PRESS			  1

// Keyboard key definitions
#define GLFW_KEY_UNKNOWN	  -1
#define GLFW_KEY_SPACE		  32
#define GLFW_KEY_SPECIAL	  256
#define GLFW_KEY_ESC		  (GLFW_KEY_SPECIAL+1)
#define GLFW_KEY_F1			  (GLFW_KEY_SPECIAL+2)
#define GLFW_KEY_F2			  (GLFW_KEY_SPECIAL+3)
#define GLFW_KEY_F3			  (GLFW_KEY_SPECIAL+4)
#define GLFW_KEY_F4			  (GLFW_KEY_SPECIAL+5)
#define GLFW_KEY_F5			  (GLFW_KEY_SPECIAL+6)
#define GLFW_KEY_F6			  (GLFW_KEY_SPECIAL+7)
#define GLFW_KEY_F7			  (GLFW_KEY_SPECIAL+8)
#define GLFW_KEY_F8			  (GLFW_KEY_SPECIAL+9)
#define GLFW_KEY_F9			  (GLFW_KEY_SPECIAL+10)
#define GLFW_KEY_F10		  (GLFW_KEY_SPECIAL+11)
#define GLFW_KEY_F11		  (GLFW_KEY_SPECIAL+12)
#define GLFW_KEY_F12		  (GLFW_KEY_SPECIAL+13)
#define GLFW_KEY_F13		  (GLFW_KEY_SPECIAL+14)
#define GLFW_KEY_F14		  (GLFW_KEY_SPECIAL+15)
#define GLFW_KEY_F15		  (GLFW_KEY_SPECIAL+16)
#define GLFW_KEY_F16		  (GLFW_KEY_SPECIAL+17)
#define GLFW_KEY_F17		  (GLFW_KEY_SPECIAL+18)
#define GLFW_KEY_F18		  (GLFW_KEY_SPECIAL+19)
#define GLFW_KEY_F19		  (GLFW_KEY_SPECIAL+20)
#define GLFW_KEY_F20		  (GLFW_KEY_SPECIAL+21)
#define GLFW_KEY_F21		  (GLFW_KEY_SPECIAL+22)
#define GLFW_KEY_F22		  (GLFW_KEY_SPECIAL+23)
#define GLFW_KEY_F23		  (GLFW_KEY_SPECIAL+24)
#define GLFW_KEY_F24		  (GLFW_KEY_SPECIAL+25)
#define GLFW_KEY_F25		  (GLFW_KEY_SPECIAL+26)
#define GLFW_KEY_UP			  (GLFW_KEY_SPECIAL+27)
#define GLFW_KEY_DOWN		  (GLFW_KEY_SPECIAL+28)
#define GLFW_KEY_LEFT		  (GLFW_KEY_SPECIAL+29)
#define GLFW_KEY_RIGHT		  (GLFW_KEY_SPECIAL+30)
#define GLFW_KEY_LSHIFT		  (GLFW_KEY_SPECIAL+31)
#define GLFW_KEY_RSHIFT		  (GLFW_KEY_SPECIAL+32)
#define GLFW_KEY_LCTRL		  (GLFW_KEY_SPECIAL+33)
#define GLFW_KEY_RCTRL		  (GLFW_KEY_SPECIAL+34)
#define GLFW_KEY_LALT		  (GLFW_KEY_SPECIAL+35)
#define GLFW_KEY_RALT		  (GLFW_KEY_SPECIAL+36)
#define GLFW_KEY_TAB		  (GLFW_KEY_SPECIAL+37)
#define GLFW_KEY_ENTER		  (GLFW_KEY_SPECIAL+38)
#define GLFW_KEY_BACKSPACE	  (GLFW_KEY_SPECIAL+39)
#define GLFW_KEY_INSERT		  (GLFW_KEY_SPECIAL+40)
#define GLFW_KEY_DEL		  (GLFW_KEY_SPECIAL+41)
#define GLFW_KEY_PAGEUP		  (GLFW_KEY_SPECIAL+42)
#define GLFW_KEY_PAGEDOWN	  (GLFW_KEY_SPECIAL+43)
#define GLFW_KEY_HOME		  (GLFW_KEY_SPECIAL+44)
#define GLFW_KEY_END		  (GLFW_KEY_SPECIAL+45)
#define GLFW_KEY_KP_0		  (GLFW_KEY_SPECIAL+46)
#define GLFW_KEY_KP_1		  (GLFW_KEY_SPECIAL+47)
#define GLFW_KEY_KP_2		  (GLFW_KEY_SPECIAL+48)
#define GLFW_KEY_KP_3		  (GLFW_KEY_SPECIAL+49)
#define GLFW_KEY_KP_4		  (GLFW_KEY_SPECIAL+50)
#define GLFW_KEY_KP_5		  (GLFW_KEY_SPECIAL+51)
#define GLFW_KEY_KP_6		  (GLFW_KEY_SPECIAL+52)
#define GLFW_KEY_KP_7		  (GLFW_KEY_SPECIAL+53)
#define GLFW_KEY_KP_8		  (GLFW_KEY_SPECIAL+54)
#define GLFW_KEY_KP_9		  (GLFW_KEY_SPECIAL+55)
#define GLFW_KEY_KP_DIVIDE	  (GLFW_KEY_SPECIAL+56)
#define GLFW_KEY_KP_MULTIPLY  (GLFW_KEY_SPECIAL+57)
#define GLFW_KEY_KP_SUBTRACT  (GLFW_KEY_SPECIAL+58)
#define GLFW_KEY_KP_ADD		  (GLFW_KEY_SPECIAL+59)
#define GLFW_KEY_KP_DECIMAL   (GLFW_KEY_SPECIAL+60)
#define GLFW_KEY_KP_EQUAL	  (GLFW_KEY_SPECIAL+61)
#define GLFW_KEY_KP_ENTER	  (GLFW_KEY_SPECIAL+62)
#define GLFW_KEY_LAST		  GLFW_KEY_KP_ENTER

// Mouse button
#define GLFW_MOUSE_BUTTON_LEFT	 0
#define GLFW_MOUSE_BUTTON_RIGHT  1
#define GLFW_MOUSE_BUTTON_MIDDLE 2


#ifdef __cplusplus
}
#endif

#endif // !defined MINI_GLFW_INCLUDED

